-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[NativeAOT] Improving HelloiOS sample for NativeAOT to be testable with runtime packs #86652
Conversation
/cc: @akoeplinger @kotlarmilos |
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas Issue DetailsThis PR is currently marked as draft and should be used just for testing and receiving feedback. DescriptionOn the long run, it will improve testing NativeAOT iOS build integration by adjusting the build of HelloiOS sample.
Instructions
Current stateScenario:
Scenario:
Final note
Contributes to #80911
|
Tagging subscribers to 'os-ios': @steveisok, @akoeplinger Issue DetailsThis PR is currently marked as draft and should be used just for testing and receiving feedback. DescriptionOn the long run, it will improve testing NativeAOT iOS build integration by adjusting the build of HelloiOS sample.
Instructions
Current stateScenario:
Scenario:
Final note
Contributes to #80911
|
@MichalStrehovsky it seems b412b6b introduced a regression for building and running the HelloiOS sample with NativeAOT on a device (in both debug and release configuration). I have confirmed this by checking out the commit and building and running the app before and after I revert the commit in question. There is a simple repro which builds everything and runs the app via: Finally, I will also try to investigate further why this started failing. PS Just for reference, when we merge this and Filip's PR we should be almost there to setup CI testing so these kind of regressions are caught early on. |
Hmm, I don't see anything that would explain why there would be a problem on iDevices after this. Note that the commit in question requires a synchronized update in libRuntime, CoreLib, System.Private.TypeLoader, and the AOT compiler (a fundamental data structure was changed that is understood by all of these). I'd expect the stack you're seeing if one of these was stale on your machine. |
src/coreclr/nativeaot/BuildIntegration/Microsoft.NETCore.Native.targets
Outdated
Show resolved
Hide resolved
It uses runtime packs from a specific .NET package but the ILCompiler is still the live one, right, @ivanpovazan? |
@MichalStrehovsky thanks for checking this, I think that is the problem as I updated @filipnavara yeah exactly ^ will try with a newer version of sdk |
fd14912
to
a8665ce
Compare
Using newer sdk solves the issue as noted by: #86652 (comment) |
This reverts commit a8665ce.
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
Many jobs seem to be timing out which is being tracked here: #76454 |
dotnet/arcade#13774 was resolved. Time to retry? |
Extra-platforms will not succeed without #87203. They've been failing for a couple days during build stage (not a single test gets executed). |
Right. I wanted to point that out too but my fish memory managed to forget it :-) |
/azp run runtime,runtime-extra-platforms |
Azure Pipelines successfully started running 2 pipeline(s). |
I guess a rebase/merge is necessary since the builds use branch commits and not merge commits in the AzDO configuration? |
Sorry, I am not sure I understand what could be the problem of just rerunning the pipelines? |
That you won't get the commit 6e34b5d that was merged to |
Looking at the checkout before the build at: https://dev.azure.com/dnceng-public/public/_build/results?buildId=298056&view=logs&j=d282b611-679c-5014-3fe6-3a931ade305f&t=7b0acb1d-0623-531c-f6fb-76c84e37bf81&l=677 |
Sorry for false alarm then. It's an option in the AzDO workflows and some other dotnet repositories build the (unmerged) branch (and I would swear that dotnet/runtime did as well). |
It was like that a looong time ago but we use the merged-with-main state nowadays. You'll see it in the checkout step where it says |
Fine, you can call me grandpa Filip then. (Also, the dotnet/installer repo didn't do that - #83695 (comment) - which was not that long time ago) |
Even with the 6e34b5d fix it seems we still hit time-outs in several jobs. Any suggestions on how to proceed with this? |
I'm fine merging with these timeouts for NativeAOT. I didn't look at/consider any of the Mono legs though. |
I have kicked off a re-run of the runtime and extra-platforms lanes - you should possibly have a newer set of results by the time you are at your desk tomorrow. |
Separately, I think it would be a good idea to add a nativeaot only pipeline so we don't have to kick off the kitchen sink w/ runtime-extra-platforms. This would be similar to /cc @akoeplinger |
Thank you all very much for your help and assistance. |
Description
This PR improves testing NativeAOT iOS build integration by adjusting the build of HelloiOS sample.
The list of changes:
LinkerArg
items populated by NativeAOT targetstarget_link_libraries
)Instructions
make world TARGET_OS=ios DEPLOY_AND_RUN=true -C src/mono/sample/iOS-NativeAOT
make world TARGET_OS=ios DEPLOY_AND_RUN=true USE_RUNTIME_PACKS=true -C src/mono/sample/iOS-NativeAOT
Current state
Scenario:
USE_RUNTIME_PACKS=false
on a ios-arm64 deviceScenario:
USE_RUNTIME_PACKS=true
on a ios-arm64 deviceFinal note
Contributes to #80911